// function ck() {
//     console.log("Demo");
    
// }
// console.log("哈哈哈，现在是直接显示，三秒后打印“ Demo ”");
// setTimeout( ck,3000);

// console.log("我在“ Demo ”后面，但是我却比他打印的快");

//其实这是属于异步操作，因为js是单线程，同步任务在主线程处理，所以异步进入到任务列表 由浏览器的线程处理，处理完成后生一个事件等待主线程的任务完成后自动调用输出

//为什么js是单线程不是多线程呢，不更方便嘛？
//比如说js是负责于用户的交互，那么用户输入账号和密码时，多线程下是先验证账号还是密码呢？？
//所以任务都是有逻辑性的，处理完账号后再验证密码

//还有为什么需要异步呢？
//既然是单线程，任务都是排序好的，处理完一个再处理下一个，如果遇到有时间成本的比如 使用setTimeout()时
//等 setTimeout() 先处理完，再处理下一个，如果是很多需要计算成本和时间成本的任务排列在同一个线程，后果可想而知


//我们先看一个最简单的Promise例子：生成一个0-2之间的随机数，如果小于1，则等待一段时间后返回成功，否则返回失败：

var hhh =new Promise(function (resolve,reject) {
    setTimeout(()=>{
        console.log('哈哈哈哈');
        resolve('要返回的')

    },3000)

    
})



